
Readme for

  "Searching Semi-structured Data Using Landmarks"
  Andrew Davison, ad@fivedots.coe.psu.ac.th
  http://fivedots.coe.psu.ac.th/~ad/landmarks
  July 2005

-------------------------------
Directory Contents

Landmark Search files:

   * Region.java
   * TripleRegion.java
   * QuatRegion.java
   * Sequence.java
   * RegionIterator.java

These files comprise the prototype implementation for the landmark
search operators. Various versions of match3() and tagMatch4() can
be found in the Region class.


Example files:

   * AtomicNum.java and 
     allelements.xml
        - collect the atomic names and numbers for all the atoms mentioned
          in allelements.xml, and print them in increasing numerical order.

   * Airfares.java and 
     airfares.txt
        - extract price information from airfares.txt
          (this is one of the examples in the paper)

   * CheckAmazon.java
        - for each ISBN in an array, visit Amazon and show various
          (this is one of the examples in the paper)

   * MacbethTests.java and 
     macbeth.xml
        - extract information from the XML file macbeth.xml
          (this is one of the examples in the paper)

-------------------------------

Compilation:

> javac *.java


Note
----
You will get a warning message if compiling with J2SE 5.0 (Java SE 5) since
I use a non-generified ArrayList in Sequence. This allows the code to be
compiled under J2SE 1.4. The ArrayList is type-safe.

-------------------------------

Execution:

> java AtomicNum

> java Airfares

> java CheckAmazon
   ( This program may 'hang' forever, indicating that you need to redirect 
     it to download through the proxy machine at your site. 

     The downloading of a Web page is carried out by the Sequence class. You 
     should set the proxy host and port properties in Sequence's openURL() 
     method. )


> java MacbethTests

-------------------------------
Last Updated: 5th July 2005